home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MATH / NRPAS13 / SVBKSB.PAS < prev    next >
Pascal/Delphi Source File  |  1991-04-29  |  811b  |  33 lines

  1. PROCEDURE svbksb(u: glmpbynp; w: glnparray; v: glnpbynp;
  2.        m,n,mp,np: integer; b: glmparray; VAR x: glnparray);
  3. (* Programs using SVBKSB must define the types
  4. TYPE
  5.    glnparray = ARRAY [1..np] OF real;
  6.    glmparray = ARRAY [1..mp] OF real;
  7.    glnpbynp = ARRAY [1..np,1..np] OF real;
  8.    glmpbynp = ARRAY [1..mp,1..np] OF real;
  9. in the main routine. *)
  10. VAR
  11.    jj,j,i: integer;
  12.    s: real;
  13.    tmp: glnparray;
  14. BEGIN
  15.    FOR j := 1 TO n DO BEGIN
  16.       s := 0.0;
  17.       IF (w[j] <> 0.0) THEN BEGIN
  18.          FOR i := 1 TO m DO BEGIN
  19.             s := s+u[i,j]*b[i]
  20.          END;
  21.          s := s/w[j]
  22.       END;
  23.       tmp[j] := s
  24.    END;
  25.    FOR j := 1 TO n DO BEGIN
  26.       s := 0.0;
  27.       FOR jj := 1 TO n DO BEGIN
  28.          s := s+v[j,jj]*tmp[jj];
  29.       END;
  30.       x[j] := s
  31.    END
  32. END;
  33.